package com.wicket.okrframework.biz.service.dto.common;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc DeptSourceDataDto
 * @使用场景
 */
@Data
public class DeptSourceDataDto extends BaseDto implements Serializable {

  /**
   * 部门编号
   */
  @ApiModelProperty("部门编号")
  private String deptNumber;

  /**
   * 部门名称（中文）
   */
  @ApiModelProperty("部门名称（中文）")
  private String deptName;

  /**
   * 部门名称（英文）
   */
  @ApiModelProperty("部门名称（英文）")
  private String deptEnName;

  /**
   * 部门简称
   */
  @ApiModelProperty("部门简称")
  private String deptShortName;

  /**
   * 上级部门编号
   */
  @ApiModelProperty("上级部门编号")
  private String parentDeptNumber;

  /**
   * 上级部门名称（中文）
   */
  @ApiModelProperty("上级部门名称（中文）")
  private String parentDeptName;

  /**
   * 部门类型名称
   */
  @ApiModelProperty("部门类型名称")
  private String typeDictionaryName;

  /**
   * 分管领导工号
   */
  @ApiModelProperty("分管领导工号")
  private String deptLeaderCode;

  /**
   * 分管领导姓名
   */
  @ApiModelProperty("分管领导姓名")
  private String deptLeaderName;

  /**
   * 行政主管工号
   */
  @ApiModelProperty("行政主管工号")
  private String directorCode;

  /**
   * 行政主管名称
   */
  @ApiModelProperty("行政主管名称")
  private String directorName;

  /**
   * 党团主管工号
   */
  @ApiModelProperty("党团主管工号")
  private String partyAndYouthDirectorCode;

  /**
   * 党团主管名称
   */
  @ApiModelProperty("党团主管名称")
  private String partyAndYouthDirectorName;

  /**
   * 排序
   */
  @ApiModelProperty("排序")
  private Long orderNumber;

  /**
   * 数据是否完整 TRUE:是 FALSE:否
   */
  @ApiModelProperty("数据是否完整")
  private String dataIsComplete;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      DeptSourceDataDto that = (DeptSourceDataDto) o;
      return  deptNumber == that.deptNumber&&deptName == that.deptName&&deptEnName == that.deptEnName&&deptShortName == that.deptShortName&&parentDeptNumber == that.parentDeptNumber&&parentDeptName == that.parentDeptName&&typeDictionaryName == that.typeDictionaryName&&deptLeaderCode == that.deptLeaderCode&&deptLeaderName == that.deptLeaderName&&directorCode == that.directorCode&&directorName == that.directorName&&partyAndYouthDirectorCode == that.partyAndYouthDirectorCode&&partyAndYouthDirectorName == that.partyAndYouthDirectorName&&orderNumber == that.orderNumber&&dataIsComplete == that.dataIsComplete;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), deptNumber,deptName,deptEnName,deptShortName,parentDeptNumber,parentDeptName,typeDictionaryName,deptLeaderCode,deptLeaderName,directorCode,directorName,partyAndYouthDirectorCode,partyAndYouthDirectorName,orderNumber,dataIsComplete);
    }

}
